#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::string a;
    std::getline(std::cin, a);
    std::vector<std::string> word;
    size_t pos = 0;
    std::string token;
    while ((pos = a.find(' ')) != std::string::npos) {
        token = a.substr(0, pos);
        word.push_back(token);
        a.erase(0, pos + 1);
    }
    word.push_back(a);

    if (word.size() <= 1) {
        std::cout << "Мало данных для анализа" << std::endl;
    } else {
        std::cout << "Кол-во слов:" << word.size() << std::endl;
        int count = 0;
        int count2 = 0;
        for (const auto& i : word) {
            if (std::isupper(i[0]) || std::islower(i[0])) {
                count++;
            }
        }
        std::cout << "Кол-во слов не превышающих три символа: " << count << std::endl;
        for (const auto& i : word) {
            if (std::isupper(i[0])) {
                count2++;
            }
        }
        std::cout << "Кол-во слов с заглавной кириллической  буквы: " << count2 << std::endl;
        int count3 = 0;
        for (const auto& i : word) {
            if (i.length() <= 3) {
                count3++;
            }
        }
        std::cout << "Кол-во слов не превышающих три символа: " << count3 << std::endl;
        int count4 = 0;
        for (const auto& i : word) {
            if (i.find('-') != std::string::npos) {
                count4++;
            }
        }
        std::cout << "Кол-во слов в составе которых имеется дефис: " << count4 << std::endl;
        auto longest_word = std::max_element(word.begin(), word.end(), 
            [](const std::string& a, const std::string& b) { return a.length() < b.length(); });
        std::cout << "Самое длинное слово: " << *longest_word << std::endl;
        size_t b = longest_word->length();
        std::cout << "Длина слова: " << b << std::endl;
    }

    return 0;
}
